tg-me.com/pythonuz/591
Last Update:
Boshiga https://www.tg-me.com/us/Python dasturlash maktabi/com.pythonuz/590
###################
Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.
x = [1, 2, 3, 4, 5]list index out of range, <class 'IndexError'>
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")
# ——————————————-#
lugat = {1: 'one', 2: 'two'}3, <class 'KeyError'>
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')
###################
Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.
import numpyUnable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)
###################
Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.
try:name 'prin' is not defined <class 'NameError'>
prin('Hello')
except NameError as e:
print(e, e.class)
# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.
try:
var = 42
print(war)
except NameError as e:
print(e, e.class)
name 'war' is not defined <class 'NameError'>
# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.
def func():UnboundLocalError: local variable 'x' referenced before assignment
x += 1
print(x)
func()
###################
Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.
len() = 5SyntaxError: cannot assign to function call
# ——————————————-#
fro i in range(10):SyntaxError: invalid syntax
print(i)
# ——————————————-#
Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.
num = 5IndentationError: expected an indented block
if num == 5:
print('ok')
# ——————————————-#
Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi
rating_range = 1TabError: inconsistent use of tabs and spaces in indentation
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)
###################
Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.
——————————————-#
Matn va sonni birlashtirishga uringanda
num = 42TypeError: unsupported operand type(s) for +: 'int' and 'str'
matn = '-maktab'
print(num + matn)
——————————————-#
O'zgaruvchini funksiya ko'rinishida chaqirganda
var = 'pythonuz'TypeError: 'str' object is not callable
print(var())
——————————————-#
Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda
royxat = ['pythonuz', 'phpuz']TypeError: list indices must be integers or slices, not str
print(royxat['1'])
###############
Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.
import math{ValueError('math domain error')} {<class 'ValueError'>}
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})
——————————————-#
try:
int('two')
except ValueError as e:
print({e}, {e.class})
{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}
###############
Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz
BY Python dasturlash maktabi

Share with your friend now:
tg-me.com/pythonuz/591